const Mock=require('mockjs');
const baseURL='/devices';
//要创造的假数据：id name type status otherInfo

const List=[]
const count=100
//先创造一些数据在List数组里面。
for(let i=0;i<count;i++){
  List.push(Mock.mock({
    id: Mock.Random.word(6),
    name: Mock.Random.cword(4),
    'type|1':['钻井设备','抽油设备','清管设备','加热设备','其他设备'],
    'status|1':['正常—被占用','正常-可借用','异常-维护中','异常-已报废'],
    otherInfo: Mock.Random.cparagraph( 10,50),
    count: Mock.Random.integer(0,15)
  }))
}
//必须传过来参数是什么？ ==> page,limit。
module.exports = [
  {
    url:baseURL+'/getListByCondition',
    type:'get',
    response: config=>{
      const {name='',type='',page = 1, limit = 20}=config.query.listQuery;//name,type是输入的筛选条件，page=1 和 limit=20是分页所必须。
      var data2=[];//筛选

      // //数据筛选
      // let mockList = List.filter(item => {//item就是List数组里面的每个{}
      //   if(name==''&&type=='') return true;
      //   if (name!='' && item.name.includes(name)) return true//要
      //   if (type!='' && item.type.includes(type)) return true//要
      //   return false//不要
      // })
      //
      // //分页筛选
      // const pageList=mockList.filter((item,index)=>{
      //   return limit*page>index && limit*(page-1)<=index;
      // })

      //数据筛选
      let mockList = config.query.list.filter(item => {//item就是List数组里面的每个{}
        if(name==''&&type=='') return true;
        if (name!='' && item.name.includes(name)) return true//要
        if (type!='' && item.type.includes(type)) return true//要
        return false//不要
      })

      //分页筛选
      const pageList=mockList.filter((item,index)=>{
        return limit*page>index && limit*(page-1)<=index;
      })

      return{
        code:20000,
        list: pageList,//表格里面的数据。
        mockList,
        total: mockList.length,//总数据条数。
        biglist: config.query.list
      }
    }
  },
  // {
  //   url:baseURL+'/add',
  //   type:'post',
  //   response: config => {
  //     let obj=config.body;
  //     List.push(obj);
  //     return{
  //       code: 20000,
  //       data: obj
  //     }
  //   }
  // },
  // {
  //   url:baseURL+'/put',
  //   type:'put',
  //   response: config=>{
  //     const {id,name,type,status}=config.body;
  //     var i;
  //     for( i=0;i<List.length;i++){
  //       if(List[i].id==id){
  //         List[i].type=type;
  //         List[i].status=status;
  //         break;
  //       }
  //     }
  //     return{
  //       code:20000,
  //       data:"success"
  //     }
  //   }
  // },
  // {
  //   url:baseURL+'/delete',
  //   type:'delete',
  //   response: config => {
  //     let index=config.query.index;
  //     List.splice(index,1);
  //     return{
  //       code: 20000,
  //       data: {
  //         index: index,
  //         leftDataListSize: List.length
  //       }
  //     }
  //   }
  // },
]

